The present invention relates to communications in computer networks. More specifically, it relates to data rate enforcement, such as class-of-service or quality-of-service service enforcement for service level agreements on a cable television network.
Cable television networks such as those provided by Comcast Cable Communications, Inc., of Philadelphia, Pa., Cox Communications of Atlanta, Ga., Tele-Communications, Inc., of Englewood Colo., Time-Warner Cable, of Marietta Ga., Continental Cablevision, Inc., of Boston Mass., and others provide cable television services to a large number of subscribers over a large geographical area. The cable television networks typically are interconnected by cables such as coaxial cables or a Hybrid Fiber/Coaxial (xe2x80x9cHFCxe2x80x9d) cable system which have data rates of about 10 Mega-bits-per-second (xe2x80x9cMbpsxe2x80x9d) to about 30+ Mbps.
The Internet, a world-wide-network of interconnected computers, provides multi-media content including audio, video, graphics and text that typically requires a large bandwidth for downloading and viewing. Most Internet Service Providers (xe2x80x9cISPsxe2x80x9d) allow customers to connect to the Internet via a serial telephone line from a Public Switched Telephone Network (xe2x80x9cPSTNxe2x80x9d) at data rates including 14,400 bps, 28,800 bps, 33,600 bps, 56,000 bps and others that are much slower than the about 10 Mbps to about 30+ Mbps available on a coaxial cable or HFC cable system on a cable television network.
With the explosive growth of the Internet, many customers have desired to use the larger bandwidth of a cable television network to connect to the Internet and other computer networks. Cable modems, such as those provided by 3Com Corporation, of Santa Clara, Calif., Motorola Corporation, of Arlington Heights, Ill., Hewlett-Packard Co., of Palo Alto, Calif., Bay Networks, of Santa Clara, Calif., Scientific-Atlanta, of Norcross, Ga., General Instruments, of Horsham, Pa., and others offer customers higher-speed connectivity to the Internet, an intranet, Local Area Networks (xe2x80x9cLANsxe2x80x9d) and other computer networks via cable television networks. These cable modems currently support a data connection to the Internet and other computer networks via a cable television network with a data rate of up to about 30+ Mbps, which is a much larger data rate than can be supported by a modem used over a serial telephone line.
However, many cable television networks provide only uni-directional cable systems, supporting only a xe2x80x9cdownstreamxe2x80x9d cable data path. A downstream data path is the flow of data from a cable system xe2x80x9cheadendxe2x80x9d to a customer. A cable system headend is a central location in the cable television network that is responsible for sending cable signals in the downstream direction. A return data path via a telephone network (i.e., a xe2x80x9ctelephony returnxe2x80x9d), such as a public switched telephone network provided by ATandT, GTE, Sprint, MCI and others, is typically used for an xe2x80x9cupstreamxe2x80x9d data path. An upstream data path is the flow of data from the customer back to the cable system headend. A cable television system with an upstream connection to a telephony network is called a xe2x80x9cdata-over-cable system with telephony return.xe2x80x9d
An exemplary data-over-cable system with telephony return includes customer premise equipment (e.g., a customer computer), a cable modem, a cable modem termination system, a cable television network, a public switched telephone network, a telephony remote access concentrator and a data network (e.g., the Internet). The cable modem termination system and the telephony remote access concentrator together are called a xe2x80x9ctelephony return termination system.xe2x80x9d
The cable modem termination system receives data packets from the data network and transmits them downstream via the cable television network to a cable modem attached to the customer premise equipment. The customer premise equipment sends response data packets to the cable modem, which sends response data packets upstream via public switched telephone network to the telephony remote access concentrator, which sends the response data packets back to the appropriate host on the data network.
In a two-way cable system without telephony return, the customer premise equipment sends response data packets to the cable modem, which sends the data packets upstream via the cable television network to the cable modem termination system. The cable modem termination system sends the data packets to appropriate hosts on the data network. The cable modem termination system sends the response data packets back to the appropriate cable modem.
As a cable modem is initialized in a data-over-cable system, it registers with a cable modem termination system to allow the cable modem to receive data over a cable television connection and from a data network (e.g., the Internet or an Intranet). The cable modem forwards configuration information it receives in a configuration file during initialization to the cable modem termination system as part of a registration request message. A cable modem also helps initialize and register any attached customer premise equipment with the cable modem termination system.
A cable modem termination system in a data-over-cable system typically manages connections to tens of thousands of cable modems. Most of the cable modems are attached to host customer premise equipment such as a customer computer. To send and receive data to and from a computer network like the Internet or an intranet, a cable modem and customer premise equipment and other network devices have a network address dynamically assigned on the data-over-cable system.
Many data-over-cable systems use a Dynamic Host Configuration Protocol (xe2x80x9cDHCPxe2x80x9d) as a standard messaging protocol to dynamically allocate network addresses such as Internet Protocol (xe2x80x9cIPxe2x80x9d) addresses. As is known in the art, the Dynamic Host Configuration Protocol is a protocol for passing configuration information to network devices on a network. The Internet Protocol is an addressing protocol designed to route traffic within a network or between networks.
Initialization information forwarded to a cable modem termination system from a cable modem may include Class-of-Service (xe2x80x9cCoSxe2x80x9d) or Quality-of-Service (xe2x80x9cQoSxe2x80x9d) requests. As is known in the art, class-of-service provides a reliable (i.e., error free, in sequence, with no loss of duplication) transport facility independent of the quality-of-service. Class-of-service parameters include maximum downstream data rates, maximum upstream data rates, upstream channel priority, guaranteed minimum data rates, guaranteed maximum data rate and other parameters. Quality-of-service collectively specifies the performance of a network service that a device expects on a network. Quality-of-service parameters include transit delay expected to deliver data to a specific destination, the level of protection from unauthorized monitoring or modification of data, cost for delivery of data, expected residual error probability, the relative priority associated with the data and other parameters.
A cable modem termination system is typically responsible for providing class-of-service and quality-of-service connections to a cable modem in a data-over-cable system. However, there are several problems associated with using a cable modem termination system to provide class-of-service and quality-of-service connections to a cable modem. One problem is that the cable modem termination system is responsible for handling and balancing class-of-service and quality-of-service requests for tens of thousands of cable modems. The handling and balancing class-of-service and quality-of-service includes allocating bandwidth for guaranteed transmission rates requested by the cable modems. The handling and balancing requires significant computational and computer resources on the cable modem termination system. The cable modem termination system uses complex software that is not easily adaptable to new or additional class-of-service or quality-of-service parameters. In addition, multiple cable modem termination systems in a data-over-cable systems typically do not handle or balance class-of-service or quality-of-service parameters in a standard way.
Another problem is that a cable modem termination system may have to bridge class-of-service or quality-of-service across networks with different underlying technologies (e.g., between a public switched telephone network and a cable television network or between the Internet or an intranet and a cable television network) without affecting system performance or throughput.
Another problem is that providing class-of-service and quality-of-service using a single networking device such as a cable modem termination system makes a network including such a networking device vulnerable to failures should the networking device fail. This could lead to user frustration for users who are willing to pay additional fees for desired class-of-service or quality-of-service features and not receive such features on a consistent basis.
Another problem is that current networking devices such as a cable modem termination system that provide class-of-service and quality-of-service typically do not detect network traffic trends, measure network response time or generate class-of-service and quality-of-service reports.
Yet another problem is that current networking devices such as a cable modem termination system that provide class-of-service and quality-of-service typically do not provide enforcement of service level agreements (xe2x80x9cSLAsxe2x80x9d). As is known in the art, service level agreements are used to determine what policies, programs and/or data transmission rates will be offered to customers.
Thus, it is desirable to provide a standard, efficient and reliable way to provide class-of-service or quality-of-service and service level agreements to customers in a data-over-cable system. The class-of-service or quality-of-service and service level agreements should also be provided across networks without affecting system performance or throughput.
In accordance with preferred embodiments of the present invention, some of the problems associated with providing class-of-service or quality-of-service on a data-over-cable system are overcome. One aspect of the invention includes a method for providing service level agreements. One or more service level agreements are created along with one or more pools of network addresses. Network addresses are assigned from the pools when a network device requests a desired service level agreement. One or more configuration files including class-of-service or quality-of-service parameters are also created to initialize a network device for a desired service level agreement.
Another aspect of the invention includes a method for requesting a service level agreement. A network device requests a service level agreement. The network device is assigned a network address from a pool of network addresses associated with the service level agreement. The network device also receives a configuration file including service level agreement parameters. The service level agreement includes one or more class-of-service or quality-of-service parameters. The configuration file is used to initialize the network device to allow the desired service level agreement to be used with the network address from the address pool.
Another aspect of the invention includes a method for enforcing service level agreements. A data stream from an external network is received on a cable modem termination system. The cable modem termination system determines if the data stream should be managed with a service level agreement. If so, the data stream is regulated using one or more parameters from the service level agreement.
Another aspect of the invention includes a method for monitoring and regulating data transmission using service level agreements. A cable modem termination system monitors and regulates data transmission rates using service level agreements from a data-link layer.
Another aspect of the invention includes a method for shaping data traffic using service level agreements. A cable modem termination system regulates data transmission rates using a first service level agreement. A request is made to regulate data transmission with a first and second service level agreement used on the same connection. Using the first and second service level agreements on the same connection may exceed a maximum data transmission rate for the connection. The cable modem termination system may adjust the data transmission rates on the connection to another data transmission rate using a third service level agreement along with the requested second service level agreement. The third service level agreement is used to provide a lower level service than provided with the first service level agreement. Adjusted Data transmission rates for the second and third service level agreements do not exceed the maximum data transmission rates on the connection.
Another aspect of the invention includes a system for enforcing service level agreements. The service level agreements are enforced using a cable modem termination system including an integral switch, cable access router and a bandwidth manager. The cable modem termination system with integral components, or just the integral components therein may be duplicated to provide a xe2x80x9chot backxe2x80x9d up in case of failure and increase reliability using service level agreements. The switch switches data streams from external networks. The cable access router enforces maximum rate limits for service level agreements. The bandwidth manager provides class-of-service or quality-of-service services with policy management and detects network trends, measures network response time and generates reports. The bandwidth manager may also monitor, regulate and shape traffic based on service level agreement requests at a data-link layer level. The cable modem termination system may also include an associated Dynamic Host Configuration Protocol Server to allocate network addresses from an address pool associated with a desired service level agreement.
The methods and system of the present invention may allow service level agreements to be used on a data-over-cable system without adversely affecting performance or throughput on the data-over-cable system. The methods and system of the present invention may also help provide service level agreements on a data-over-cable system in more reliable manner.
The foregoing and other features and advantages of a preferred embodiment of the present invention will be more readily apparent from the following detailed description. The detailed description proceeds with references to the accompanying drawings.